package twel.probenprophet.domain.rules.magic.decorators;

import twel.probenprophet.base.enums.Representation;
import twel.probenprophet.domain.rules.magic.CastableSpell;

public class SpellWithProlongedCastTime extends SpontaneousModificationDecorator {

	public SpellWithProlongedCastTime(CastableSpell decorated) {
		super(decorated);
	}

	@Override
	public int getCastTime() {
		return getDecorated().getCastTime() * 2;
	}

	@Override
	public int getDifficulty() {
		boolean isGuildMageRepresentation = getDecorated().getRepresentation() == Representation.GUILD_MAGE;
		int bonus = isGuildMageRepresentation ? 4 : 3;

		return getDecorated().getDifficulty() - bonus;
	}

	@Override
	protected Integer getSpellSkillModifier() {
		return 0;
	}
}
